#ifndef RTPPARSE_RTP_DICTIONARIES_H
#define RTPPARSE_RTP_DICTIONARIES_H

#include <cstdint>

namespace Rtp {

    class Media {
    public:
        enum class Kind: uint8_t {
            AUDIO,
            VIDEO
        };
    };

    class RtpCodecMimeType {
    public:
        enum class Type: uint8_t {
            AUDIO,
            VIDEO
        };
        enum class Subtype : uint16_t
		{
			// Audio codecs:
			OPUS = 100,
			// Multi-channel Opus.
			MULTIOPUS,
			PCMA,
			PCMU,
			ISAC,
			G722,
			ILBC,
			SILK,
			// Video codecs:
			VP8 = 200,
			VP9,
			H264,
			AV1,
			// Complementary codecs:
			CN = 300,
			TELEPHONE_EVENT,
			// Feature codecs:
			RTX = 400,
			ULPFEC,
			X_ULPFECUC,
			FLEXFEC,
			RED
		};
        void UpdateMimeType();
    public:
        Type type;
        Subtype subtype;
    };
}

#endif